package com.note.feng.dataStructureAlgorithm.stack;

/**
 * 栈的特征：
 *  栈(stack)又名堆栈，它是一种运算受限的线性表。
 *  限定仅在表尾进行插入和删除操作，这一端被称为栈顶，相对的，把另一端称为栈底。
 *  向一个栈插入元素又称作进栈、入栈或压栈，它是把新元素放到栈顶元素的上面，使之成为新的栈顶。
 *  元素从一个栈删除元素又称作出栈或退栈，它是把栈顶元素删除掉，使其相邻的元素成为新的栈顶元素。
 *  栈是一种后进先出的数据结构，Last In Frist Out (LIFO)
 * @param <E>
 */
public interface Stack <E>{
    int getSize();
    void push(E e);
    E pop();
    E peek();
    boolean isEmpty();
}
